package com.baizhi.service;

import com.baizhi.domain.dto.ArticleEditDto;
import com.baizhi.domain.dto.ArticlePageDto;
import com.baizhi.domain.dto.ArticleSaveDto;
import com.baizhi.domain.dto.ArticleSearchDto;
import com.baizhi.domain.es.EsArticle;
import com.baizhi.domain.jpa.Article;
import com.baizhi.domain.vo.ArticleDetailVo;
import com.baizhi.domain.vo.PageVo;
import org.springframework.data.domain.Page;

import java.util.List;

public interface ArticleService {

    // 查询文章列表
    PageVo<List<Article>> findPage(ArticlePageDto param);

    // 查看文章详情
    ArticleDetailVo findById(Integer id);

    // 保存文章
    void saveArticle(ArticleSaveDto param);

    // 更新文章
    void updateArticle(ArticleEditDto param);

    // 删除文章
    void deleteByAid(Integer aid);

    // 最新文章列表
    List<Article> findNewArticleList();

    // 文章检索
    PageVo<List<EsArticle>> searchArticle(ArticleSearchDto param);

    // 清空数据
    void cleanData();
}
